# -*- coding：utf-8 -*-
"""
@Time:2024-08-1715:13
@Auth:泛彼泊舟
@File:3、自定义实例属性.py
@IDE:PyCharm
@模块功能：xxx
"""
"""
目前定义的类中的实例属性都是固定的值，每一个对象拥有的实例属性一致
自定义实例属性语法格式：
1、在通过类创建对象时，自动调用init魔法方法
2、在定义类的实例属性封装时，使用init魔法方法定义形参接收实参
3、实例方法支持使用函数中任意参数（位置参数、关键字参数、默认参数、不定长位置、关键字采纳数）
"""

class Hero:
    def __init__(self, name, hp, mp=0):
        self.name = name
        self.hp = hp
        self.mp = mp

    def attack(self):
        print("英雄发起普通攻击")

    def move(self, x, y):
        print(f"执行移动英雄操作,x坐标为{x},y坐标为{y}")

    def back_city(self):
        print("执行英雄回城操作")

    # 目前封装实例属性和实例方法都是通过创建对象之后进行调用
    def a(self):
        # 在类的实例方法中：使用实例属性:self.属性名
        print(self.name)

    def b(self):
        print(f"我的英雄名字是{self.name},我的hp是{self.hp},我的mp是{self.mp}")

    def c(self):
        # 在类的实例方法中：使用实例方法：self.方法名()
        self.attack()

hero1 = Hero("赵云", 1000, 200)
# print(hero1.name)
# print(hero1.mp)
# print(hero1.hp)
hero1.move(300, 210)
hero1.b()
